//===============================================================================
// Microsoft patterns & practices Enterprise Library Contribution
// Mapping Application Block
//===============================================================================

using System;
using System.Runtime.Serialization;
using System.Collections.Generic;

namespace EntLibContrib.Mapping
{
	/// <summary>
	/// A collection of Domain Object Super Type Names
	/// </summary>
	/// <remarks>This collection is used to build a set of domain object super type names for a mapper
	/// where the data transfer object holds a column for a super type name or a data value that refers to a super type.</remarks>
	[Serializable]
	public class DomainObjectSuperTypeNameDictionary : Dictionary<string, string>
	{
		#region Construction
		/// <summary>
		/// Initializes a new instance of the <see cref="DomainObjectSuperTypeNameDictionary"/> class.
		/// </summary>
		public DomainObjectSuperTypeNameDictionary()
		{
		}

		/// <summary>
		/// Initializes a new instance of the <see cref="DomainObjectSuperTypeNameDictionary"/> class.
		/// </summary>
		/// <param name="info">A <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object containing the information required to serialize the <see cref="T:System.Collections.Generic.Dictionary`2"></see>.</param>
		/// <param name="context">The context.</param>
		protected DomainObjectSuperTypeNameDictionary(SerializationInfo info, StreamingContext context)
			: base(info, context)
		{
		}
		#endregion
	}
}
